#include<stdio.h>
#define uint8 int
#define print(data,format) printf("The value of "#data" is "format"\n",data);//#把一个宏参数变成对应的字符串
#define CAT(x,y) (x##y)//##可以把位于它两边的符号合成一个符号。 它允许宏定义从分离的文本片段创建标识符。

//许多C 的编译器提供了一种能力，允许在命令行中定义符号。用于启动编译过程。
typedef int  uint8_t;
void test()
{
  int arr[N];
  for(int i=0;i<N;i++)
  {

    arr[i] = i;
  }

  for(int i=0;i<N;i++)
  {

    printf("%d ",arr[i]);
  }
  printf("\n");
}

int main()
{

  printf("%s\n",__FILE__);
  //printf("%s\n",__LINE__);
  printf("%s\n",__DATE__);
  printf("%s\n",__TIME__);
  printf("%s\n",__FUNCTION__);
  int age = 10;
	print(age, "%d");
	double pi = 3.14;
	print(pi, "%f");
	int* p = &age;
	print(p, "%p");
 
  int DataVal = 100;
  printf("%d \n",CAT(Data,Val));
  test();
  return 0;
}
